User:Zseymour

From Octave
Jump to navigation Jump to search

A: An introduction[edit]

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

I am a PhD student in computer science at Binghamton University in New York. I do research as part of the machine learning lab there. This has been my first year as a graduate student.

    • Which languages do you speak? Just English.
    • What's your overall background? The general field you work in or are studying, e.g. computer science, physics, artificial intelligence, control theory...

I have a BS in Mathematics and one in Computer Science. I am now studying machine learning towards a PhD in CS.

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

This is my second year applying for GSoC. I enjoy the opportunity to work on projects I am interested in and benefit projects I care about.

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

As stated above, this is my second year applying for the program. I was accepted last year and had a very good experience. I completed the proof-of-concept program that I had originally proposed; the source is available at my github (zseymour).

  • Why are you choosing Octave?

The lab I work with relies heavily on octave for most of our programming tasks, so I really look forward to an opportunity to improve the software.

C: Contact[edit]

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

I do not currently participate in the Octave IRC channel.

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

UTC-5.

  • 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 usually work the most (as I did last summer) from about 14.00 to 21.00 GMT, but I could be flexible.

E: Coding experience[edit]

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.

Last year's SoC was my largest ever C++ project, but I have a fair amount of experience beyond that. I write m-scripts quite frequently, and, reaching a road block, feel comfortable with the documentation.

  • Please describe your experience with other programming languages.

I have an extensive Java background, with large projects also viewable on my Github account. I am gaining more experience with Python recently, and I have done web development in the past.

  • Please describe your experience with being in a development team. Do you have experience working with open source or free projects?

Last year, I worked as part of the XBMC 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.

XBMC was probably the largest project I ever participated in, and I learned the importance of discussing tasks with peers/mentors to come to a proper solution.

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

F: Feeling fine[edit]

  • 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

I have used IRC in the past, particularly during last year's GSoC. I am very comfortable with mailing lists.

    • Mercurial or other source code management systems

I primarily have used git, but I think I would not have a hard time learning Mercurial as well.

    • Mediawiki or other wiki software

I have some experience with editing wikis

    • make, gcc, gdb or other development tools

I use all of these tools rather frequently, both as part of my work and was part of classwork.

  • 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 :-)

Good mentoring and community participation.

O: Only out of interest[edit]

  • Did you ever hear about Octave before?

Yes

    • If so, when and where? How far have you been involved already?

I use Octave rather frequently, but I have not yet been involved in its development.

    • 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[edit]

  • Please state the operating system you work with.

Mostly Ubuntu Linux, but I dual-boot with Windows 7.

    • If you have access to more than one, please state them and the conditions under which you are granted this access.
  • Please estimate an average time per day you will be able to (if separated) access
    • an internet connection

12+ hrs

    • a computer

10+ hrs

    • a computer with your progressing work on

On every computer I have access to, I should be able to access my work.

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

I have administrative privileges on all computers I use frequently.

S: Self-assessment[edit]

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

Criticism is very helpful, to insure development is progressing in the right direction.

  • 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?
    • 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 prefer being somewhat autonomous. It worked well for me last year. I can generally get a good understanding of what needs done quickly, and then code up a starting concept to build off of.

Y: Your task[edit]

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

I am choosing the project to implement classdef classes. I have good experience at both the undergraduate and graduate level working with bison/flex and would like the opportunity to explore with a real-world project.

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

I need to further explore the source of what has been done already, but I see requiring a week to one-and-a-half weeks to understand the current state of the interpreter. The first milestone would getting a classdef classes with just attributes and methods to be supported.