User:Bumi
Jump to navigation
Jump to search
GSoC 2016 application
A: An introduction
- Please describe yourself in three sentences, one of them regarding your current studies.
- My name is Barbara Lócsi, I am a Hungarian first year undergraduate software engineering student at the Budapest University of Technology and Economics. I like math, programing, reading novels and solving Rubik's Cubes. I am determined and dedicated, and if I set a goal I won't stop until it is reached.
- Which languages do you speak?
- Hungarian (native), English (fluent)
- What's your overall background?
- Computer science.
- Why do you want to participate in the Google Summer of Code? What do you hope to gain by doing so?
- Before looking into GSoC and the organizations I didn't really know much about open source and free softwares. Obviously, I have heard about it, but just thought that I can look on its source code and that's all. I didn't realized before, that I can actually contribute and that it is welcomed by the community. I believe Google Summer of Code is a really good opportunity to get into open-source or free development. And also I am here to learn, gain experience and extend knowledge.
- Please also describe your previous experience with the GSoC, if any.
- I have no prior experience with GSoC, I just know about it for about a month.
- Why are you choosing Octave?
- In the last semester I had a course on which I have learned about linear algebra and I really liked it. So when I was wondering around and saw the "Generalised eigenvalue problem" project idea, I was really interested in it and excited to know more about it.
C: Contact
- Please state the nick you use on IRC and any other communication channel related to Octave.
- Bumi or bumi
- Which time zone do you live in? Will that change over GSoC duration?
- UTC+2 during summer, it is unlikely to change.
- Please state the timeframe (in UTC+0) when you feel most comfortable working during GSoC. Where are your time buffers?
- Anything between 8:00 to 20:00 is good for me and could try to stay for bit later when needed.
E: Coding experience
- Please describe your experience with C++, Octave or Matlab m-scripts, OpenGL and Qt.
- I am learning C++ in this semester. I have no prior experience with the rest, but started using and learning about Octave and Matlab by myself.
- Please describe your experience with other programming languages.
- I had a C course in the previous semester, and also learned a bit Assembly. Before these I used C# for my own pet projects.
- Please describe your experience with being in a development team.
- I have no experience.
- 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.
- I created a snake game in C (using SDL) as homework for the previous semesters programing course. It was an independent task so I did all of the work. For example I learned using SDL, dynamic memory allocation, handling independent .c and .h files.
- Please state the commits and patches you already contributed to Octave.
F: Feeling fine
- Please describe (in short) your experience with the following tools:
- IRC and mailing lists
- I am using IRC and have used mail list before. I am also subscribed to octave-maintainers.
- Mercurial or other source code management systems
- Just started using mercurial, not so much experience with others.
- Mediawiki or other wiki software
- I haven't used it before.
- make, gcc, gdb or other development tools
- Just started using make gcc and gdb, got help from IRC and google is my friend.
- IRC and mailing lists
- What will make you actively stay in our community after this GSoC is over?
- I will have a course in the next semester that uses Matlab so probably I will be around if I have time.
O: Only out of interest
- Did you ever hear about Octave before?
- No, I did not.
- 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?
- How to search in mail list archives? nabble
P: Prerequisites
- Please state the operating system you work with.
- I have Windows 10 and Debian 8 on virtual machine, it is my own laptop I have complete access.
- Please estimate an average time per day you will be able to access
- an internet connection
- 24h
- a computer
- 24h
- a computer with your progressing work on
- 24h
- an internet connection
- Please describe the degree to which you can install new software on computers you have access to.
- Complete access.
S: Self-assessment
- Please describe how useful criticism looks from your point of view as committing student.
- I like to receive advices, guides, help, and useful criticism as it helps my progression and I can learn from it.
- 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?
- I like to be full aware of the task and the aims before starting coding.
- Do you like to discuss changes intensively and not start coding until you know what you want to do?
Y: Your task
- 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 provide a rough estimated timeline for your work on the task.
I chose the Generalised eigenvalue problem.
Certain calling forms of the eig function are currently missing, including:
- preliminary balancing
- computing left eigenvectors as a third output
- choosing among generalized eigenvalue algorithms
- ( ? ) choosing among return value format of the eigenvalues (vector or matrix) see more here.
The project's aim is to implement these functionalities.
Matlab | Octave |
---|---|
|
|
Timeline
- Community Bonding period (Until May 22)
- Get acquainted with the code and LAPACK
- Week 1-2 (May 23 - Jun 5)
- Finals, non-coding time
- Week 3-4 (Jun 6 - Jun 19)
- Add left eigenvector calculation
- Creating tests
- Midterm evaluations (Jun 20 - Jun 27)
- Week 6 (Jun 27 - Jul 3)
- Implementing preliminary balancing, testing
- Week 7-10 (Jul 4 - Jul 31)
- algorithm choosing for eigenvalue calculation (chol or qz)
- creating tests
- Week 11 (Aug 1 - Aug 7)
- documenting
- Week 12-13 (Aug 8 - Aug 28)
- deciding return value format of the eigenvalues (vector or matrix)
- testing, documenting