Carandraug

Joined 17 November 2011
3,007 bytes added ,  15 April 2013
→‎GSoC 2013 application: shaping up application
m (→‎Octave to do list: minor wikimedia syntax fixes)
(→‎GSoC 2013 application: shaping up application)
Line 3: Line 3:
= GSoC 2013 application =
= GSoC 2013 application =


== A: An introduction ==
== An introduction ==
* Please describe yourself in three sentences, one of them regarding your current studies.
* Please describe yourself in three sentences, one of them regarding your current studies.
:: I'm a PhD student in Biochemistry and Bioinformatics.
:: I'm a PhD student in Biochemistry and Bioinformatics. I have taught myself own to program by scratching my own itches. I believe in software freedom which allows me to learn much more than I could otherwise.
* Which languages do you speak?
* Which languages do you speak?
:: Portuguese (native), english (fluent), and spanish (basic).
:: Portuguese (native), english (fluent), and spanish (basic).
Line 11: Line 11:
:: Molecular biology.
:: Molecular biology.
* 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?
::
:: While I keep a constant flow of code contributions to free software (a week without activity somewhere is very rare), they are mostly small fixes. I'm planning to apply for a job of software engineering after my PhD and would value the experience of being involved in a large plan with a well defined goal. Plus, I'd expect this work to be a chapter on my PhD thesis, and hopefully part of a published paper on the usefulness of GNU Octave for microscope image analysis.
* Why are you choosing Octave?
* Why are you choosing Octave?
:: I have been using Octave for 3 years so it's relevant for my studies.
:: I have been using Octave regularly for almost 3 years so it's relevant for my studies. The project I'm choosing as a direct impact on my research work.


== C: Contact ==
== Contact ==
* Please state the (unique and identical where possible) nick you use on IRC and any other communication channel related to Octave.
* Please state the nick you use on IRC and any other communication channel related to Octave.
:: My registered nick on I'm a frequent user of IRC, with the nick carandraug.
:: My registered nick the freedone IRC servers is carandraug.
* Which time zone do you live in? Will that change over GSoC duration?
* Which time zone do you live in? Will that change over GSoC duration?
:: I live on GMT which is very unlikely to change during the summer.
:: I live on GMT which is very unlikely to change during the summer.
* Please state the timeframe (in UTC+0) when you feel most comfortable working during GSoC. Where are your time buffers?
* Please state the timeframe (in UTC+0) when you feel most comfortable working during GSoC. Where are your time buffers?
:: I usually work between 12:00 to 20:00 and 23:00 to 03:00.
:: I have a very flexible time schedule. I usually work between 12:00 to 20:00 and 23:00 to 03:00.


== E: Coding experience ==
== 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 no experience with OpenGL or Qt. I have extensive experience Octave m functions, and been contributing to Octave and octave Forge for almost 3 years. I have minimal experience with C++, the minimum required for maintenance of some Forge packages. I have been teaching myself C++ lately though I haven't contributed anything useful to the community yet.
* Please describe your experience with other programming languages.
* Please describe your experience with other programming languages.
:: I'm a comfortable perl programmer (approximately 2 years) and a developer of BioPerl. I have also some knowledge of Python.
* Please describe your experience with being in a development team. ''Do you have experience working with open source or free projects?''
* Please describe your experience with being in a development team. ''Do you have experience working with open source or free projects?''
:: My contributions to free software are split into 3 main projects. Octave (and Octave Forge), BioPerl, and gtksourceview.
* 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.
:: The biggest project I was ever involved with is Octave Forge where I have learned most of my programming skills. I submitted my first patch and bug fix to the zenity package but most of my contributions have been on the image package, mainly in morphology functions. I am currently the maintainer of Octave Forge.
* 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.''
* 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.''
:: There are too many to list here so I'll just mention some of the last ones:
::* implemented the {{codeline|citation()}} with [http://hg.savannah.gnu.org/hgweb/octave/rev/3a93af21d206|3a93af21d206]. This included making Octave's build system, and {{codeline|pkg()}} aware of it.
::* several improvements on Octave indexed images, 37a21f615d67, dffb28f47ea8, 7d21456c09d1, 14b7679891dd, 4db08f52a6ed, 89c8d8f8f87b.


== F: Feeling fine ==
== 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: ''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.''
** IRC and mailing lists
:* IRC and mailing lists
** Mercurial or other source code management systems
::: Frequent user of IRC, subscriber and maintainer of several mailing lists.
** Mediawiki or other wiki software
:* Mercurial or other source code management systems
** make, gcc, gdb or other development tools
::: Frequent user of hg, git and svn.
:* Mediawiki or other wiki software
::: Frequent editor.
:* make, gcc, gdb or other development tools
::: Some experience with GNU make and SCons. Not with gcc and gdb. Plenty of experience with Unix command line 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 :-)''
* 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 :-)''
:: Free time. I've been around for 3 years, I'm unlikely to go anywhere.


== O: Only out of interest ==
== Only out of interest ==
* Did you ever hear about Octave before?  
* Did you ever hear about Octave before?  
** If so, when and where? How far have you been involved already?
:* If so, when and where? How far have you been involved already?
** If not, where would you expect or advise us to do advertising?
:* If not, where would you expect or advise us to do advertising?
::: I learned about Octave by googling for a free software alternative to Matlab. My first PhD project involved using a Matlab tool, but I started by [[https://github.com/af-lab/frapinator|porting it to Octave]] instead (it's not a piece of code I'm currently proud of, but it was my first programming project).
* 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, …''
* 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 ==
== 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.
:* If you have access to more than one, please state them and the conditions under which you are granted this access.
::: I have 2 systems running Debian testing. These are my own systems, with complete root access. If required, I can have sporadic access to a MacOS X 10.5 and Windows XP for testing purposes.
* 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 ''(if separated)'' access
** an internet connection
:* an internet connection
** a computer
::: 24/7
** a computer with your progressing work on
:* a computer
::: 24/7
:* a computer with your progressing work on
::: 24/7 (I keep all my development work on a public server)
* 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.
:: Complete access on all systems.


== S: Self-assessment ==
== 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. ;-)''
* 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 think that I'm a fairly autonomous programmer with strong Google powers.
** 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?
* ''If you answer both subquestions with "Yes, definitely", we are a tad confused. ;-)''
:* 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'm a firm believer of think before you code and usually start by writing drafts of documentation.


== Y: Your task ==
== 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.''
:* 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?
:* 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.''
* 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.''


= Octave to do list =
= Octave to do list =