From Octave
Jump to navigation Jump to search

Public application template

This part is answered in public on your 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

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

I studied Automation and Robotics for 2.5 years in Krakow, Poland. I later moved to Billings, MT in the US to help take care of my grandparents. In Billings I continued my studies but changed my major to Aeronautical Science.

    • Which languages do you speak?

I speak Polish and English fluently.

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

During my studies in Poland I took courses on control theory. I simulated physical problems and how to control them. The tools I used were Matlab/Simulink. As part of general programming courses I learned C++ and Qt.

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

I don't do a lot of programming at my current studies but I still have a desire for programming. I want to participate in GSoC to be able to contribute to Octave, learn more about how such big projects work and have fun doing so.

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

I have no previous experience with Google Summer of Code and am quite unfamiliar with how it all works.

  • Why are you choosing Octave?

I had an acquaintance back in Poland who participated in GSoC and she chose Octave. I also worked in Matlab some and appreciate the value of these computational programs. That is why I would like to contribute to Octave.

C: Contact

  • My Nick on IRC will be Jsoh425
  • I live in UTC-06:00 and this will not change during GSoC
  • During GSoC I will code between 14:00 and 23:00 in UTC+0 but can start as early as 13:00 for some time.

E: 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 ;-)

  • I took part in a university project where I had to implement a few windows in Qt/C++ and tie them in to that project. The goal was to implement tools for editing diagrams, similar to flow diagrams. The functionality included drag-to-connect and other diagram operations. I used m-scripts to implement a class and some functions for a course at the same university. The goal was to try to determine how to move legs of a hexapod (spider like robot) to change his position and orientation from one to another. I have not worked with OpenGl.
  • I implemented a simple "snake" in Ada using Qt.
  • I worked for a semester on a project at my university in Poland. I used svn and worked closely with my professor on it. I have not participated in any open source projects.
  • I worked on the project mentioned at the top. The project was developed for a couple years by a few members of faculty and afterwards, me and a few other students were invited to contribute for a semester. I don't know how many lines of code the project had but I do know it compiled in about 10 minutes when compiling for first time. As I mentioned I had to add a few windows that would edit diagrams, similar to flow diagrams, with connecting functionality and tie them in to the program. I think the most I learned from that project was the role of good documentation and taking your time to understand the code before you start adding something new.
  • 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

  • Please describe (in short) your experience with the following tools:
    • I have no experience in IRC and mailing lists
    • I used svn and git and have not used mercurial until my contact with Octave
    • I helped admin a wiki for my classmates
    • I wrote a simple make that scans for source files in a directory and compiles them together; simple uses of gcc; no experience in gdb, though I did use the Eclipse, QtCreator debuggers a lot

O: Only out of interest

  • When learning about Matlab I came across Octave and tried some of its features.
    • Like I stated before I only tried it as a 'user' and have not been involved in Octave as a project so far.
  • 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

  • I work with Ubuntu 14.10.
  • Currently I am able to access it in the evenings about 23:00 UTC till 02:00 UTC for the purpose of coding, but that is because of my other school work I have to do. Once May starts I will be able to use the computer without restrictions
    • I have a reliable broadband internet
  • I have full access to my computer with no restrictions.

S: Self-assessment

  • I think criticism can be extremely useful because it can guide you and help you learn how to do better next time.
  • I think I am quite autonomous if I understand the problem that I am suppose to solve. When I do not, or there are unexpected problems I cannot solve for a period of time I usually ask for help.
    • Definitely
    • Not really, but I would like to change that attitude, because I noticed that much of development work is failing to achieve what you set out for and learning from it.

Y: Your task

  • Did you select a task from our list of proposals and ideas?

I would like to contribute on the TISEAN package.

    • 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 really like the idea of getting to know how to make packages for octave and to link multiple types of code together. The link to the elaborated proposal ishere.
  • 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.

Porting of the TISEAN package has a couple parts. First part is making the fortran and c programs accessible to Octave. Second part would be creating makefiles and putting all that code in a neat package. I have divided the first part into three subparts:

  1. fortran ones that can be re-implemented easily in m-files (a good example of such a program is 'henon')
  2. the fortran ones that need to be linked to oct files
  3. c programs which also need to be linked to oct files.

As linking fortran code to oct code is most diffucult of those three tasks I assume in my estimates that it will take me around 3 hours for each program, there are 28 in this category. Thus I assume it will take me about 2-3 to complete this task. Next there are the programs in the Tisean which can be ported to m-files easily. As this is not as difficult a task as porting fortran code to oct files I have alloted 2 hr for each program. I have put 5 programs in this category thus it should only take me about 2 days to complete this task Last but not least, I have 41 programs in C that need to ported to Oct files. As this task seems fairly straightforward I have allotted 2 for each program. There are 41 programs in this category, therefore this task should also take me 2-3 weeks. I plan to allot another 2 weeks for cleaning the code up thus bringing it to a grand total of about 7 weeks. My plan is to tackle the hardest task first, that is to work on the fortran programs that need to be linked to oct files. There are 9 weeks designated for GSoC so I hope the extra room will allow me easily finish on time.