Editing User:Ben zen

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
Hi, I'm Benjamin Lewis, a.k.a. ben_zen on Freenode; I'm a McGill student applying for GSoC 2012, and my public application's below.
'''Don't mind the state of the page, I'm assembling it (just getting it started, I'll fill in some more details soon.)''' (I'll also remove all the markup as it suggests, once I make sure it's in a worthy state!)


= GSoC 2012 Public application =
= Public application template =
This part is answered in public on your [[Special:MyPage|user page]]. Please copy its source ('''edit''') and then fill. Delete any examples and annotations (''this markup'') afterwards. Same for questions that do not apply to your situation.


== A: An introduction ==
== A: An introduction ==
Line 17: Line 18:
* Please state the (unique and identical where possible) nick you use on IRC and any other communication channel related to Octave.
* 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?
* Which time zone do you live in? Will that change over GSoC duration?
* 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? ''Example: I usually code around 9.00 to 18.00 and could also try to start earlier (~7.00) for few days ;-)''


On Freenode, I'm user blewis, with nicks ''blewis'', '''ben_zen''' (my main) and ''zen_ben'' (when I'm not on my main computer). It is not an overestimation to say that I'm connected to IRC for ten hours a day. I live in UTC-5, and if I'm able to work on SoC, that's where I'll stay. As for when I'm comfortable coding, w.r.t. UTC+0, I'm comfortable working from (this will look odd) 14h00 to 0h00 (the next day, in UTC+0; 9h00 to 19h00 in local time) I'm also willing to code later, if I need to until 3h00 UTC+0. I really don't do well getting up (really) early and coding before my coffee, but for me 8h00 local time is early enough for coffee and getting started (so it's not like I'm talking about mid-afternoon here.)
On Freenode, I'm user blewis, with nicks ''blewis'', '''ben_zen''' (my main) and ''zen_ben'' (when I'm not on my main computer). It is not an overestimation to say that I'm connected to IRC for ten hours a day. I live in UTC-5, and if I'm able to work on SoC, that's where I'll stay. As for when I'm comfortable coding, w.r.t. UTC+0, I'm comfortable working from (this will look odd) 14h00 to 0h00 (the next day, in UTC+0; 9h00 to 19h00 in local time) I'm also willing to code later, if I need to until 3h00 UTC+0. I really don't do well getting up early and coding before my coffee, unfortunately.


== E: Coding experience ==
== E: Coding experience ==
When it comes to coding experience, I am unfortunately not knowledgeable in C++; I intend to learn what I can this semester — I already understand most basic programming skills, and how to manage objects, I simply (or not so simply) need to learn memory management. I have, however, used Octave and Matlab for a few years, and I know how to use m-scripts.
In short, I'm really really green at the serious development. I'm aware that this is a limitation, and I'm working as much as I can to overcome it; since my interests are focused almost entirely on implementing a solution method and not a core element of the software, however, I don't see this as being quite as much of an impediment.
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 ;-)
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.
* 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.
* Please describe your experience with being in a development team. ''Do you have experience working with open source or free projects?''
* 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.
* 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.''


In general, I'm lacking in experience in coding in a group of any sort; I'm somewhat new to programming, and before now I haven't been involved in a project either as a group or individually.  When it comes to coding experience, I am unfortunately not knowledgeable in C++; I intend to learn what I can this semester — I already understand most basic programming skills, and how to manage objects, I simply (or not so simply) need to learn memory management. I have, however, used Octave and Matlab for a few years, and I know how to use m-scripts. My particular project is aimed more at m-scripts, so it shouldn't need as much C++ as it otherwise might; since I'm not working in graphics or interfaces, either, I don't think my lack of knowledge of OpenGL and Qt should be much of an impediment either. Most of my programming knowledge is focused on Java, and almost all working independently.
== F: Feeling fine ==
 
I'm quite used to IRC/mailing lists and wiki/Mediawiki/etc. I'm not as up to speed on source code management as I've not worked on a large project before, but I think I can catch on fairly quickly. I've used make and gcc before; having worked mostly in Java I've not needed them too regularly, so I'll need to learn some more, but again, I don't think that will take much.
In short, I'm really really green at the serious development. I'm aware that this is a limitation, and I'm working as much as I can to overcome it; since my interests are focused almost entirely on implementing a solution method and not a core element of the software, however, I don't see this as being quite as much of an impediment to my work.


== 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
** Mercurial or other source code management systems
** Mercurial or other source code management systems
** Mediawiki or other wiki software
** Mediawiki or other wiki software
** 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?
* 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 :-)''
 
I'm quite used to IRC/mailing lists and wiki/Mediawiki/etc. I'm not as up to speed on source code management as I've not worked on a large project before, but I think I can catch on fairly quickly. I've used make and gcc before; having worked mostly in Java I've not needed them too regularly, so I'll need to learn some more, but again, I don't think that will take much. Also, since my project is aimed at writing an Octave-Forge package, I don't think these tools will be as necessary. As for staying in the community, if I feel like I can contribute, I'll stay active if you don't chase me away with pitchforks! Otherwise I'll hang around, but I might not be super-active.


== O: Only out of interest ==
== O: Only out of interest ==
Line 47: Line 48:
** 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?
* What was the first question concerning Octave you could not find an answer to rather quickly?
* 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, …''


I first heard about Octave waaay back in High School, when I was looking for something a little more powerful than my calculator to do a lot of matrix problems, and didn't want to buy an expensive software package. I've not been involved in the project before now, partially because I didn't feel I had anything to contribute until now. I've seen Octave mentioned in places like ##math on Freenode (was #math until recently), so I think there's some effective advertising already happening. As for quick answers, I haven't run into much that I don't find pretty rapidly. This may also be my biased memory, but I'm fairly sure it's not.
I first heard about Octave waaay back in High School, when I was looking for something a little more powerful than my calculator to do a lot of matrix problems, and didn't want to buy an expensive software package. I've not been involved in the project before now, partially because I didn't feel I had anything to contribute until now. I've seen Octave mentioned in places like ##math on Freenode (was #math until recently), so I think there's some effective advertising already happening. As for quick answers, it took me a moment to determine where the application page data was actually hiding (as I wave around my ignorance of the more subtle features of the MediaWiki system) since the [[Student_Application_Template_2012|student application]] included a call to the template, nothing more. On the other hand, I learned something about MediaWiki in the thirty seconds it took me to figure out the solution!


== P: Prerequisites ==
== P: Prerequisites ==
I'm running Mac OS X 10.7 on my personal machine, and I can run pretty much any linux distro in LiveCD format, with enough available RAM to compile software effectively. I'm almost always within reach of the internet, and the only computer I'm working on right now is the one with all my active work. (So, ten hours at least, generally.) Otherwise, if I get an additional machine, I will try to keep them as close to in synchronicity as possible.
I'm running Mac OS X 10.7 on my personal machine, and I can run pretty much any linux distro in LiveCD format, with enough available RAM to compile software effectively. I'm almost always within reach of the internet, and the only computer I'm working on right now is the one with all my active work. (So, ten hours at least, generally.)


== S: Self-assessment ==
== S: Self-assessment ==
Line 66: Line 67:


== Y: Your task ==
== 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've decided to pursue the Least-Squares Spectral Analysis ([[GSoC_Project_Ideas#Least-squares_spectral_analysis|here]] on the project ideas page) task for Octave-Forge. I don't think there's really a single part of it I can focus on; it'll mostly be a process of first reading up on the method, examining the C and R implementation, and bringing it into the fold.
I've decided to pursue the Least-Squares Spectral Analysis ([[GSoC_Project_Ideas#Least-squares_spectral_analysis|here]] on the project ideas page) task for Octave-Forge. I don't think there's really a single part of it I can focus on; it'll mostly be a process of first reading up on the method, examining the C and R implementation, and bringing it into the fold.


I'm expecting to get up to speed on the relevant documentation and papers through late April, and after finals (which finish 25 Apr.) I'll be going on vacation for about two weeks; after that, I'll be available for pretty much the rest of the summer solid — I'll be going on vacation again near the end of August, but other than that I can expect three to four months solid of availability. (The suggested finishing date is the 13th of August; I'd expect to be able to make that deadline, possibly with a little time to spare. I won't be going on vacation until shortly after that.)
I'm expecting to get up to speed on the relevant documentation and papers through late April, and after finals (which finish 25 Apr.) I'll be going on vacation for about two weeks; after that, I'll be available for pretty much the rest of the summer solid — I'll be going on vacation again near the end of August, but other than that I can expect three to four months solid of availability. (The suggested finishing date is the 13th of August; I'd expect to be able to make that deadline, possibly with a little time to spare. I won't be going on vacation until shortly after that.)


The largest initial point is going to be comprehending the C/R code; after that, probably most of my work will be in writing a safe package — the actual implementation shouldn't be very long, but let's call it a milestone too; the rest is making sure that the code will catch any errors in what data is fed into it (according to one source, the actual LSSA implementation can be about a printed page, but that was for a specific instance! It'll be a little more code to handle any inputs, and a lot more to make sure it's correct, but that is, of course, the rub.)
The largest initial point is going to be comprehending the C/R code; after that, probably most of my work will be in writing a safe package — the actual implementation shouldn't be very long, but let's call it a milestone too; the rest is making sure that the code will catch any errors in what data is fed into it.
 


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




<!--[[Category:Summer of Code 2012]]-->
<!--[[Category:Summer of Code 2012]]-->
Please note that all contributions to Octave may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Octave:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)