User:Jacob.dawid

From Octave
Jump to navigation Jump to search

Public application template[edit]

A: An introduction[edit]

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

I am a rather optimistic person with interests in art (especially music, I play guitar in a band) and computer sciences. A while ago I started with studies in Electrical Engineering, but then switched to Applied Informatics for personal reasons. It's important to me to build software that is well-designed, which to me means that it allows the user to intuitively do what she/he wants to do.

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

Well, of course it's all about collecting experience. Usually, I prefer working on free software anyways, but the GSoC project gives me the opportunity to be more independent from work that I have to do just to make up for my living. I am quite familiar with the GUI part of GNU Octave.

  • Why are you choosing Octave?

It's sad that the scientific world is dominated by scientific software that's proprietary. GNU Octave is a key software that is used interdisciplinary. I discovered GNU Octave when I needed to do some project work at university and all I can say is - it's a gem!

C: Contact[edit]

  • Please state the (unique and identical where possible) nick you use on IRC and any other communication channel related to Octave.

xhoch3.

  • Which time zone do you live in? Will that change over GSoC duration?

UTC/GMT +1. This will not change.

  • Please state the timeframe (in UTC+0) when you feel most comfortable working during GSoC. Where are your time buffers?

I usually work from 14:00 to 22:00. Often, I work much longer into the night.

E: Coding experience[edit]

  • Please describe your experience with C++, Octave or Matlab m-scripts, OpenGL and Qt.
    • C/C++: over 10 years on various projects, also on microcontroller units.
    • OpenGL: ~5 years.
    • Octave: ~1 year.
    • Qt: ~2 years.
  • Please describe your experience with other programming languages.
    • Java: ~5 years.
    • JavaScript: ~2 years.
    • bash: ~2 years.
    • php: ~2 years.
    • PERL: ~2 years.
    • Ruby: < 1 year.
  • Please describe your experience with being in a development team.
    • Well, I already work on GNU Octave.
  • 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.

Personally, my biggest project was in my early days, where I was still learning C/C++. Obsessively, I wanted to be a game developer and so I developed my own 3D engine doing everything in software. I remember just coming home from school, dropping my bag and coding like there was no tomorrow (yes, I am wallowing in memories right now). I got astonishingly far, although the code must have been horrible. I had implemented a world with collision detection that I could walk in, dynamic lighting, polygon sorting and face culling. Then my computer broke and I have made no backups. Even today I wish I could take a look into that code again, just for fun. This was the - emotionally - biggest project that I worked on.

From a professional point of view, I am developing proprietary software and judging by team members, lines of code and complexity, there is a proprietary project that I would count as one of the biggest.

  • Please state the commits and patches you already contributed to Octave.

I have commited the initial GUI code and a lot of patches to it.

F: Feeling fine[edit]

  • Please describe (in short) your experience with the following tools:
    • IRC and mailing lists

I use these frequently.

    • Mercurial or other source code management systems

I am familiar with git, mercurial and subversion.

    • Mediawiki or other wiki software

I don't have deep knowledge about that kind of software, but I feel comfortable using it.

    • make, gcc, gdb or other development tools

For commercial projects I use Visual Studio as an IDE. Personally I prefer QtCreator over Visual Studio, so I use that in free projects. make, gcc and gdb are essential to me.

  • What will make you actively stay in our community after this GSoC is over?

Lots of coffee and a few donuts :P Seriously, I don't know, it comes naturally.

O: Only out of interest[edit]

  • Did you ever hear about Octave before?
    • If so, when and where? How far have you been involved already?

Well, I did a Google search. I have been developing on the GUI for some time and a while ago I got access to the official repository on Savannah.

    • If not, where would you expect or advise us to do advertising?

See above.

  • What was the first question concerning Octave you could not find an answer to rather quickly?

To be honest, I don't remember having any questions that I couldn't find an answer to. Often, a Google search helped and if it didn't, the community on IRC did the best to help me instantly.

P: Prerequisites[edit]

  • Please state the operating system you work with.

Ubuntu 11.10 64 Bit.

    • If you have access to more than one, please state them and the conditions under which you are granted this access.

I don't use any other operating systems, though I have access to a Windows 7 computer. I only use it for the development of commercial software, whenever the use of Ubuntu is not possible.

  • Please estimate an average time per day you will be able to access
    • an internet connection

Always.

    • a computer

Almost always.

    • a computer with your progressing work on

Almost always.

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

I have full access.

S: Self-assessment[edit]

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

I have been told to have a strong opinion and probably it's not always easy to discuss with me. But I know and try to improve on that.

  • How autonomous are you when developing?
    • Do you like to discuss changes intensively and not start coding until you know what you want to do?

I am not sure if every change I intend to do is worth a discussion, but I certainly have an idea of what I am doing.

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

This is absolutely fine, as I think this is the usual business.

Y: Your task[edit]

  • 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. This should include the GSoC midterms and personal commitments like exams or vacation ("non-coding time"). Optionally include two or three milestones you expect.