A: An introduction

  • My name is Nazar Gerasymchuk. I'm a student of 6th year of studying (now I'm getting Master degree). I'm specialized on "Programming Theory and Technologies" at Cybernetics Department[1] of Taras Shevchenko National University of Kyiv[2]. I speak English, Ukrainian and Russian.
  • I have a burning desire to take a part in GSoC-2013 as a student this year. I see the possibility to make my personal contribution into open source in general and into Octave in particular with GSoC 2013-team. I hope to improve next skills: programming, teamwork, applying of version control systems and so on. I have no previous experience with GSoC.
  • As I'm a big GNU/Linux fan, I used Octave and Scilab for some study purposes and I love them.

C: Contact

  • tr0 at #octave
  • UTC+3:00
  • I usually code around 9.00 to 18.00 including some coffee break.

E: Coding experience

  • I use Qt as main development framework for about 3 years. Before I programmed on pure C and C++. Have experience using of STL and little bit of boost. For some studying purposes used Matlab, Scilab, Octave, so I have basic knowledge and skills. I used OpenGL for some small projects.
  • I'm interested in bash, Python, Free Pascal. I adore LaTeX and use it for printing purposes for a long time.
  • Really, I have no teamwork development experience, but I want get it. I have experience in translating opensource programs and took part in few small projects with 2 developers in team (using SVN, GIT) as developer.
  • The biggest project: QRegistrator - is still under development, project for university. I'm the only developer. This is desktop application, thick client for handling in(out)come documents in MySQL database, printing that documents, filtering by criteria, preparing reports. I learned a bit about application architecture, and about product specifications.
  • Commits and patches to Octave - coming soon :)

F: Feeling fine

  • I know what IRC and mailing lists are. So, I need no guidance.
  • Really, I haven't use Mercurial, but I used SVN and GIT, I can adopt.
  • I'm familiar with Wiki.
  • For my C++/Qt projects at GNU/Linux and MS Windows I use such tools: GCC (MinGW), clang; cppcheck for static analysis; valgrind for profiling.
  • I think that most curious part is communication with people. So, if I'll speak with interesting people, we can keep our connection and developing of Octave even after GSoC.

O: Only out of interest

  • We had open source addicts crew at university (Sun's OSUM - Open Source University Meetup) and made meetings related to educational software. Octave was one of our point of interest. Actually we found it at Ubuntu proposed apps and I am glad we found it.
  • First question concerning Octave we could not find an answer: there is no nice documentation or books in Ukrainian. There are some in Russian, and mostly in English.

P: Prerequisites

  • I work on next operating systems: mostly GNU/Linux Debian, sometimes MS Windows 7, and if needed -- Windows XP.
  • Average time per day I will be able to access to:
    • an internet connection: 4 h
    • a computer: 4 h
    • a computer with your progressing work on: 6 h
  • The degree up to which I can install new software on computers I have access to: I'm root :)

S: Self-assessment

  • Please describe how useful criticism looks from your point of view as committing student.
    • All of critics must be short and clear, pointing concrete issues.
  • How autonomous are you when developing?
    • I'm a master of googling, StackOverflow is our everything :) I feel free to read libraries/frameworks documentation online. Familiar with GIT and SVN, so can easy start using HG with online reference.
  • Do you like to discuss changes intensively and not start coding until you know what you want to do?
    • Yes, I really want to know what to do before doing something, but if this part is something creative then I can spend some time to try few ways of implementation.
  • 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 to discuss everything I disagree with before development as writing something I don't like will just slow down the development process and as usual client will change his mind as I supposed.

Y: Your task

  • I selected a task from your list of proposals and ideas.
    • I want to work on Octave GUI [3]. So, it would be nice to Finish the Octave GUI or Implement a Qt widget for manipulating plots or Create a better (G)UI for the profiler. Hope, you'll recommend me something.
  • 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.

HOPE, YOU'LL HELP ME TO CREATE TIMELINE.