User:Andrei iusan

From Octave
Jump to navigation Jump to search

A: An introduction[edit]

I speak English and Romanian

I'm a student in CS, 2nd year, undergraduate.

I would like to participate in GSoC to get in touch with the open source comunity, to improve my skils while working on improving Octave, wich is a great tool for engineers.

No previous experience with GSoC.

I worked with Octave while taking a Numerical Methods course. I find it very useful and I used it for various numerical processing tasks.

C: Contact[edit]

My IRC id would be: andrei_iusan

Timezone: UTC+3 this would remain unchanged during the summer

I would usually work around 13:00 to 22:00. I could shift the interval 2 hours up or down if need arises.

E: Coding experience[edit]

I have good experience with C++. I used it for 5 years, I am familiar with it and with OOP. I used Octave (and worked with m-scripts) extensively for 4 months, during the Numerical Method course and then used it ocasionaly for processing data for various practical projects in electronics, physics laboratories. This usualy involved statistical data manipulation and generating various plots. I had only few brief contacts with OpenGL, didn't code in it, only studied a bit some OpenGL code and played with a few parameters, changed a few vertices, colors, surfaces, rotation matrices, etc, to see how it all works. I didn't used Qt at all.

I am familiar with Java, I studied and worked with it about a year, I worked on a small Android project once. I had been studying Python for 2 months. I took a course on Programming Paradigms. I can only say that I got to be familiar with the basics of Functional Programing (Scheme - a lot of lambda calculus, Haskell - more easy to use than Scheme, Lisp)

I have only the experience of working in a team for an AI project involging a game of Ants and a participation at Eurobot, an European robotics contest. I have no previous experience with open source projects.

The biggest project I have written code for was the Eurobot project. I was assigned with low level motion control. I designed a PID controller and used Octave to plot the graphs in order to tune the controller. I took the dataof the position of the robot from it's encoders via USB, input it in Octave and plot the error in movement over time, tuned the P, I, and D constants to minimize the error. The code was implemented in C++ (on an Arduino board). I didn't contributed with other parts, so I worked more in the begining of the project.

I hadn't contributed to Octave yet.

F: Feeling fine[edit]

Experience with:

    • IRC and mailing lists

I used IRC with a few other comunities I found at GSoC

    • Mercurial or other source code management systems

I have no experience with Mercurial, but I used Tortoise SVN in Eurobot project

    • Mediawiki or other wiki software

I wrote a few wiki pages on projects in Politehnica University

    • make, gcc, gdb or other development tools

I am using Ubuntu, so I created makefiles for C or C++ projects, compiled them with gcc.

O: Only out of interest[edit]

  • 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?
  • 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, …

P: Prerequisites[edit]

  • Please state the operating system you work with.

OS: Ubuntu 12.04

    • 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 - 24h
    • a computer - 24h
    • a computer with your progressing work on - 24h
  • Please describe the degree up to which you can install new software on computers you have access to.

limited to 60 GB of disk memory

S: Self-assessment[edit]

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

I guess it depends on the criticism.

  • How autonomous are you when developing?

I am quite autonomus, I worked more on individual projects than with a team.

    • Do you like to discuss changes intensively and not start coding until you know what you want to do?

Yes, I would very much like to discuss before, to understand as much as posible how the code should look like in general terms. It happened to me once that I worked on a project (in Java) where I had to chose how to organise the classes. I made a wrong decision and I couldn't improve the functionality of the program. It worked, but it behaved poorly. I was unable to repair it due to lack of time.

    • 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 prefere to avoid this as much as posible. If it will happen a few times, it's ok, but I usually take it as a failure on my side. I consider that I was unable to understand what the proponent had in mind. I admit that I may go on a wrong track at some point, but I prefere to be able to fix it before sending it to be thrown away.

Y: Your task[edit]

  • Did you select a task from our list of proposals and ideas?
    • 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.