User:Yefllower: Difference between revisions

From Octave
Jump to navigation Jump to search
 
(25 intermediate revisions by the same user not shown)
Line 1: Line 1:
== A: An introduction ==
== A: An introduction ==
I am a college student from Shanghai Jiao Tong University, majoring in CS.
 
* Please describe yourself in three sentences, one of them regarding your current studies.
 
I have participated in ACM for past two years with my teammates in Asian regional contest and won the first place in Changchun regional with team CamEo.
I have participated in ACM for past two years with my teammates in Asian regional contest and won the first place in Changchun regional with team CamEo.
Math is amazing and beautiful, and I've learned basic college math well.  
Math is amazing and beautiful, and I've learned basic college math well.  
** Which languages do you speak?
** Which languages do you speak?
** What's your overall background? ''The general field you work in or are studying, e.g. computer science, physics, artificial intelligence, control theory...''
 
Chinese is my mother tongue, and English is my first foreign language. I had my GRE test last year and is confident with my reading skills.
 
 
** What's your overall background?
I am a second-year college student from Shanghai Jiao Tong University, majoring in Computer Science.
 
 
* Why do you want to participate in the Google Summer of Code? What do you hope to gain by doing so?
* Why do you want to participate in the Google Summer of Code? What do you hope to gain by doing so?
** 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!''
 
At first I was attracted by the experience and rewards to this Google project.
When I scanning the suggested projects from other organizations, I found most of which are just coding a project or fix a few bugs.
But this math and programming is really attractive to me.
Combining code and math is my favorite part in acm contest.
So here I am.
This project would help me get familiar with the working ways of a real programmer of a community.
And coding to make a software like octave better would be a pride to me, even the minor parts.
If I have time and enjoyed myself during this project, I am willing to continue to contribute my effort to Octave afterwards.
 
 
** Please also describe your previous experience with the GSoC, if any.
I am first time to this GSoC. I'll try to get familiar with the programs.
 
 
* Why are you choosing Octave?
* Why are you choosing Octave?
Octave was used to do my Coursera homework of the course Machine Learning from Stanford. Matlab and Octave were suggested by Andrew Ng to complete the learning.
MATLAB is really expensive but I really don't want to use pirated versions. And from almost all of the ideas pages I've only seen this one with something to do with my math learning besides coding.


== C: Contact ==
== C: Contact ==
* 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.''
* Please state the (unique and identical where possible) nick you use on IRC and any other communication channel related to Octave.  
* 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.''
My IRC nickname: yefllower
* 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 ;-)''
 
My e-mail address: yefllowers@gmail.com
 
''Actually this name is almost always unique everywhere.''
 
 
* Which time zone do you live in? Will that change over GSoC duration?  
UTC+08:00
 
It will not change.
 
 
* Please state the timeframe (in UTC+0) when you feel most comfortable working during GSoC. Where are your time buffers?
I prefer to code in nights, (UTC+0)from 11:00 to 17:00.  
If no acm training or other meetings, I can start from afternoon like (UTC+0)7:00. (this happens three to four times a week)


== E: Coding experience ==
== E: Coding experience ==
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.
* Please describe your experience with C++, Octave or Matlab m-scripts, OpenGL and Qt.
I have programming C++ since high school, more than five years till now.
I've tried Octave and Matlab, but not often use them. Usually I use mathematica instead.
I've never used Qt or OpenGL. OpenGL was once in my plan until I'm too busy to learn it.
* Please describe your experience with other programming languages.
* 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?''
I can write a bit Python and Java, can read programs in these language.
 
 
* Please describe your experience with being in a development team.
No such 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.
* 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.
* 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.''
Not big one, just an AI for a chess like game called fish. and a simple rewritten version of C++ STL list and map.
Until then I have no habit of saving codes of different versions.
 
 
* Please state the commits and patches you already contributed to Octave.  
Not yet.


== F: Feeling fine ==
== 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.''
* Please describe (in short) your experience with the following tools:
** IRC and mailing lists
** IRC and mailing lists
First time to use, getting  familiar.
** Mercurial or other source code management systems
** Mercurial or other source code management systems
I used github for my course design last year.
** Mediawiki or other wiki software
** Mediawiki or other wiki software
Have never used.
** make, gcc, gdb or other development tools
** 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 :-)''
Not familiar with gdb, knowing well others.
 
== 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?
* 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 ==
== P: Prerequisites ==
* Please state the operating system you work with.
* 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.
win8 on my laptop and a Ubuntu 12.04 LTS in Virtual machine.
* Please estimate an average time per day you will be able to ''(if separated)'' access
 
 
* Please estimate an average time per day you will be able to access
** an internet connection
** an internet connection
** a computer
** a computer
** a computer with your progressing work on
** a computer with your progressing work on
All the time I have access to my laptop with a sometime slow connection.
* Please describe the degree up to which you can install new software on computers you have access to.
* Please describe the degree up to which you can install new software on computers you have access to.
I have the root or administrator account.


== S: Self-assessment ==
== S: Self-assessment ==
* Please describe how useful criticism looks from your point of view as committing student.
* Please describe how useful criticism looks from your point of view as committing student.
* How autonomous are you when developing? ''If you answer both subquestions with "Yes, definitely", we are a tad confused. ;-)''
If I know it is useful I would love to hear all of it. It can get me familiar with things I've never touched. But before hear it and think about it, I cannot know whether it is useful. Maybe the best way is to welcome all the criticism.
 
 
* 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?
** Do you like to discuss changes intensively and not start coding until you know what you want to do?
** 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?
** 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 want to answer both with "Yes". When facing a tough task, I prefer thinking deep before I start, at least the possible structure of my work. But to details or ideas I'm not sure engough, I prefer writing it and testing it first as a small piece to start with.


== Y: Your task ==
== Y: Your task ==
* Did you select a task from our list of proposals and ideas?
* 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.''
Yes.
** 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?
The Numerical part.
* 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.''
 
 
** 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.
I especially want to focus on the implement of improving logm, sqrtm, funm[http://wiki.octave.org/GSoC_Project_Ideas#Improve_logm.2C_sqrtm.2C_funm]. Maybe I can start with expm as an easy one.
 
or some of following ones within my ability to learn, as all of them have already papers and books on them.
 
Generalized eigenvalue problem, and Various sparse matrix improvements.
 
Implement solver for initial-boundary value problems for parabolic-elliptic PDEs in 1D.
 
Implement solver for 1D nonlinear boundary value problems.
 
 
* Please provide a rough estimated timeline for your work on the task.
A rough timeline:
 
April: Get the structure of my task to do.
 
May: Read the papers about the algorithms I need and get started with a few small programs to test.
 
June: Implementation of expm(or other easy functions I chose)
 
July: Complete other remaining functions.
 
August: Testing and maintaining , and end of the GSoC.
 
[[Category: Summer of Code]]
[[Category: Summer of Code]]

Latest revision as of 14:21, 15 March 2014

A: An introduction[edit]

  • Please describe yourself in three sentences, one of them regarding your current studies.

I have participated in ACM for past two years with my teammates in Asian regional contest and won the first place in Changchun regional with team CamEo.

Math is amazing and beautiful, and I've learned basic college math well.


    • Which languages do you speak?

Chinese is my mother tongue, and English is my first foreign language. I had my GRE test last year and is confident with my reading skills.


    • What's your overall background?

I am a second-year college student from Shanghai Jiao Tong University, majoring in Computer Science.


  • Why do you want to participate in the Google Summer of Code? What do you hope to gain by doing so?

At first I was attracted by the experience and rewards to this Google project. When I scanning the suggested projects from other organizations, I found most of which are just coding a project or fix a few bugs. But this math and programming is really attractive to me. Combining code and math is my favorite part in acm contest. So here I am. This project would help me get familiar with the working ways of a real programmer of a community. And coding to make a software like octave better would be a pride to me, even the minor parts. If I have time and enjoyed myself during this project, I am willing to continue to contribute my effort to Octave afterwards.


    • Please also describe your previous experience with the GSoC, if any.

I am first time to this GSoC. I'll try to get familiar with the programs.


  • Why are you choosing Octave?

Octave was used to do my Coursera homework of the course Machine Learning from Stanford. Matlab and Octave were suggested by Andrew Ng to complete the learning. MATLAB is really expensive but I really don't want to use pirated versions. And from almost all of the ideas pages I've only seen this one with something to do with my math learning besides coding.

C: Contact[edit]

  • Please state the (unique and identical where possible) nick you use on IRC and any other communication channel related to Octave.

My IRC nickname: yefllower

My e-mail address: yefllowers@gmail.com

Actually this name is almost always unique everywhere.


  • Which time zone do you live in? Will that change over GSoC duration?

UTC+08:00

It will not change.


  • Please state the timeframe (in UTC+0) when you feel most comfortable working during GSoC. Where are your time buffers?

I prefer to code in nights, (UTC+0)from 11:00 to 17:00. If no acm training or other meetings, I can start from afternoon like (UTC+0)7:00. (this happens three to four times a week)

E: Coding experience[edit]

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

I have programming C++ since high school, more than five years till now. I've tried Octave and Matlab, but not often use them. Usually I use mathematica instead. I've never used Qt or OpenGL. OpenGL was once in my plan until I'm too busy to learn it.


  • Please describe your experience with other programming languages.

I can write a bit Python and Java, can read programs in these language.


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

No such 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.

Not big one, just an AI for a chess like game called fish. and a simple rewritten version of C++ STL list and map. Until then I have no habit of saving codes of different versions.


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

Not yet.

F: Feeling fine[edit]

  • Please describe (in short) your experience with the following tools:
    • IRC and mailing lists

First time to use, getting familiar.


    • Mercurial or other source code management systems

I used github for my course design last year.


    • Mediawiki or other wiki software

Have never used.


    • make, gcc, gdb or other development tools

Not familiar with gdb, knowing well others.

P: Prerequisites[edit]

  • Please state the operating system you work with.

win8 on my laptop and a Ubuntu 12.04 LTS in Virtual machine.


  • Please estimate an average time per day you will be able to access
    • an internet connection
    • a computer
    • a computer with your progressing work on

All the time I have access to my laptop with a sometime slow connection.


  • Please describe the degree up to which you can install new software on computers you have access to.

I have the root or administrator account.

S: Self-assessment[edit]

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

If I know it is useful I would love to hear all of it. It can get me familiar with things I've never touched. But before hear it and think about it, I cannot know whether it is useful. Maybe the best way is to welcome all the criticism.


  • 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?
    • 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 want to answer both with "Yes". When facing a tough task, I prefer thinking deep before I start, at least the possible structure of my work. But to details or ideas I'm not sure engough, I prefer writing it and testing it first as a small piece to start with.

Y: Your task[edit]

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

Yes. The Numerical part.


    • 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.

I especially want to focus on the implement of improving logm, sqrtm, funm[1]. Maybe I can start with expm as an easy one.

or some of following ones within my ability to learn, as all of them have already papers and books on them.

Generalized eigenvalue problem, and Various sparse matrix improvements.

Implement solver for initial-boundary value problems for parabolic-elliptic PDEs in 1D.

Implement solver for 1D nonlinear boundary value problems.


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

A rough timeline:

April: Get the structure of my task to do.

May: Read the papers about the algorithms I need and get started with a few small programs to test.

June: Implementation of expm(or other easy functions I chose)

July: Complete other remaining functions.

August: Testing and maintaining , and end of the GSoC.