From Octave
Revision as of 05:58, 17 March 2014 by Albertsl (talk | contribs) (Undo revision 4538 by Albertsl (talk))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

A: An introduction[edit]

I'm Albert Sanchez, Industrial engineering student at UPC. I speak Spanish, Catalan and English. I would like to participate in GSOC because I think it's a great way to gain real world experience, and would like to work with Octave because it's a software I've been using for 2 years and which has helped me a lot in my studies.

C: Contact[edit]

I haven't joined Octave IRC yet I live in Spain (UTC+1) and I'm not moving anytime soon. I don't really care about what time should I code as long as it's not at night.

E: Coding experience[edit]

  • I worked for some time with C++ but since I didn't really like it, I stopped using it and now I code mainly with Python, however I would be able to code in C++. I have some experience with Octave and the m-scripts. I don't have any experience with both Qt and OGL.
  • I have a a lot of experience with Python, it's the language I use the most. I also have some experience with HTML, CSS, Javascript and PHP.
  • I haven't worked in any kind of project with other people yet, only on a file-sharing application in which I was the only programmer.
  • I would say the biggest project I've worked on would be the one I mentioned on the previous point, I had to write a Python script to control the database and do all kind of things and I also had to code a website to let people register.
  • I haven't contributed with Octave yet

F: Feeling fine[edit]

  • IRC and mailing lists: I know how to use both of them.
  • Mercurial or other source code management systems: I tried to work with git some time ago but I found it really difficult to use
  • Mediawiki or other wiki software: I don't have any kind of problem using it, I've done lots of contributions on Wikipedia ;)
  • make, gcc, gdb or other development tools: I've used gcc sometimes when I worked with C++. I don't have any experience with make or gdb
  • What will make you actively stay in our community after this GSoC is over? I've always liked open source software and I've always wanted to help with it but everytime I tried to write some code I found a huge amount of code already written and I didn't know what to do, how to make changes, how to submit them. So what I'm looking for in GSoC is to get started and be able to join a project, I don't care if it's Octave or some other I've sent a proposal. If all my proposals get rejected, I would like to still start working on a on open source project so if anyway you could help me getting started (assigning me some kind of "mentor" or any other way) I would really apreciate it.

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've been using it for 2 years since I started my university studies

P: Prerequisites[edit]

  • Please state the operating system you work with:
    • I mostly work with Linux but I also have Windows installed in my computer
  • Please estimate an average time per day you will be able to (if separated) access: 24hours a day for all of them
  • Please describe the degree up to which you can install new software on computers you have access to: I'm admin in my computer so I can do whatever I want

S: Self-assessment[edit]

  • Please describe how useful criticism looks from your point of view as committing student: I'm one of the few people who like bad critics because they give you knowledge of where you're failing.
  • 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, I need a clear idea of what to do before I 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? I prefer to work knowing what to do but if I have to wait for someone to tell me and I have free time I could start working although not doing what I'm expected to do.

Y: Your task[edit]

  • Did you select a task from our list of proposals and ideas? No
    • 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? I haven't talked to anyone yet. My idea is to create some kind of parser for octave to be able to read Latex code. In example I would like to write the code '\int_{0}^{2\pi}cos(x)dx' which means integral of cos(x) from 0 to 2pi and to be able to get an answer from Octave, in this example I would get 0. Another example would be giving Octave the code '\frac{1}{2}' and getting 0.5
  • Implementation: The idea would be to implement a function in Octave that would parse a latex string and would output the evaluation result. Also if something like 'A = \begin{bmatrix} 2 & 3 & 4\\ 1 & 2 & 3 \end{bmatrix}' is given, it would assign the matrix to the variable A.
  • Please provide a rough estimated timeline for your work on the task. I think this project isn't too difficult to do so I could have it finished before the timeline so on the rest of the summer I could help with other developement tasks. The developement could be divided in three phases:
    • Basic operations: giving the software the ability to evaluate simple maths expressions like sums, multiplications, divisions, powers, etc... and assign them to variables. This could be done in a few weeks
    • More complex operations: operations like integrals, derivatives, matrices... This would be harder to do cause depending on the operation I would have to look for Octave functions that could do what I want, so this developement stage could last from 1-2 months
    • Ending the project: The final stage would be to test intensively all Latex options and make sure everything works fine. Documentation would be done in this stage. When everything is finished on this project I would help on other developement tasks till the end of the summer.
  • I wont be able to work too much on June since my final exams are that month.