Bucket brigade
Joined 11 April 2013
A: An introductionEdit
- I'm a Computer Science PhD student. My main interests are multi-objective optimization, I work with swarm intelligence methods which are numerically intensive thus I use matrix packages a lot. I am the main developer of Neil Modular Tracker (https://sites.google.com/site/neilsequencer/)
- I speak english, russian and lithuanian.
- I'm a Computer Science PhD student. I have bachelor and masters degrees in Computer Science.
- My primary goal in participating is to benefit open source numerical computation community. I use numpy and a lot of other open source software in my research and I want to give back to the community.
- Please also describe your previous experience with the GSoC, if any. I participated in GSoC in 2010 and in 2012. I have completed both projects successfully.
- Why are you choosing Octave? I use numerical software all the time during my work as a researcher and in my PhD thesis and other scietific work. I also used both MATLAB and Octave before as a replacement for MATLAB, although I don't claim good knowledge of either.
C: ContactEdit
- 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. unaudio@gmail.com on Octave maintainer mailing list.
- 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. I live in UTC/GMT +3 hours time zone which won't change during the duration of GSoC 2013.
- 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 ;-) I am most comfortable coding 8.00 to 17.00.
E: Coding experienceEdit
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. I have extensive C++ experience, especially from developing and maintaining Neil tracker. I have some Matlab and Octave experience, I am not familiar with OpenGL and QT programming.
- Please describe your experience with other programming languages. I know Python really well. I have experience interfacing lower level languages to high level languages (e.g. C++ to Python). I can develop non trivial applications in Common Lisp and Scheme as well as in C.
- Please describe your experience with being in a development team. Do you have experience working with open source or free projects? I have experience working on open source projects (https://sites.google.com/site/neilsequencer/). I have contributed code to JACAL symbolic algebra package and to pandas project.
- 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. Again this will have to be Neil Modular Tracker which is a software package for creating electronic music similar to Jeskola Buzz. I am the main developer and maintainer of that software.
- 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. I haven't commited code to Octave yet, however I started implementing my proposed GSoC project and C++ code that compiles to oct files can be found here https://bitbucket.org/bucket_brigade/octave-sound.
I have also successfully completed GSoC two times before. One time for the JACAL symbolic algebra system and one time for pandas statistics package. For JACAL I implemented polynomial interpolation and polynomial factorization algorithms and for pandas I have implemented various plotting algorithms.
F: Feeling fineEdit
- 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 Very comfortable using either
- Mercurial or other source code management systems I use mercurial for almost everything including writing papers
- Mediawiki or other wiki software Have used before
- make, gcc, gdb or other development tools Very comforable using any of the aforementioned.
- 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 like interesting, challenging tasks involving mathematics, signal processing or generally things that I feel I am able to do particularly well.
O: Only out of interestEdit
- Did you ever hear about Octave before? Yes
- If so, when and where? How far have you been involved already? I won't be able to tell. I have known about octave for at least 10 years. I used it as Matlab substitute for classes during my bachelor years.
- 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: PrerequisitesEdit
- Please state the operating system you work with. I only have Linux boxes at home and at work.
- If you have access to more than one, please state them and the conditions under which you are granted this access. I am able to access windows boxes via remote desktop in my university. I can start one in an emulator if absolutely necessary.
- Please estimate an average time per day you will be able to (if separated) access
- an internet connection 24/7
- a computer 24/7
- a computer with your progressing work on 24/7
- Please describe the degree up to which you can install new software on computers you have access to. I can install anything I want.
S: Self-assessmentEdit
- Please describe how useful criticism looks from your point of view as committing student. Showing, by example, faults in my code, explaining why they are faults.
- How autonomous are you when developing? 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? I like to discuss things when I am not certain what the best path to take is.
- 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? Yes, this is my preferred mode of operation.
Y: Your taskEdit
- Did you select a task from our list of proposals and ideas? Yes
- 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. Fixing octave audio system
- 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. None to speak off. I am free during the time allocated to the GSoC 2013 programme.