Jump to navigation Jump to search
A: An introduction
- My name is Amr Mohamed, a student from Egypt. I am a self motivated person who enjoys his work and I am a fourth year undergraduate student at faculty of engineering - Ain Shams University in computer and systems engineering.
- I speak arabic as a mother tongue and have good command of english.
- I have a background in Mathematics , Electronics and Computer Science. I have done courses on Linear Algebra, Numerical Analysis, ODEs, and Complex analysis.
- I am interested in coding, and i find the GSoC an amazing opportunity to learn how to interface to other developers in a fruitful fashion.
- I'm mainly interested in studying algorithms , signal processing and competitive programming which highly relies on C++.
- I think contributing to a well-established organisation like Octave is a great experience that one will never forget. I hope that i can do my best to collaborate with the developers/maintainers of Octave in order to contribute to this great organisation.
I have been using Octave for nearly two years and was always impressed by having an open-source alternative to Matlab.I used many packages of the Octave Forge such as : Control - Serial - Signals and others.
- My Nickname on the IRC, wiki is AMR_KELEG and amr_keleg on the Savannah bug tracker.
- I live in Cairo,Egypt and my time zone is UTC+2:00.
- I usually code from 18.00 to 23.00 and during the vacation i could also work from 11.00 to 15.30
E: Coding experience
- I am programming using C++ as a main language.
- I have been using MATLAB/Octave for more than two years now.I wrote m-scripts / GUI apps and Simulink programs.
- I am currently implementing a college project using Qt.
- I worked on a signal processing project during the last summer to detect the hand movement using EMG (Electromyography) and Octave was the project's main processing unit.Its main purpose was to detect hand gestures.
- I have average knowledge of python, Ruby , Rails , Java , Android and Game development.
F: Feeling fine
- General Experience with the required Octave tools:
- I am comfortable with using the IRC and the Mailing list.
- I am generally using Git but working with Mercurial isn't a big deal.
- I had built the stable branch and used the gdb on Octave smoothly.
- I am trying to fix the double-single computations bug  and hope i can contribute in solving the problem.I have submitted a patch but it requires some refinements.
- Applying mathematical knowledge through programming was always my dream. I think contributing to Octave fulfills my passion.
O: Only out of interest
- I have heard about Octave from my colleague three years ago. I loved the idea of having an Open Source application that can replace Matlab.
- I still don't get the idea of adding packages to Octave Forge instead of adding them to the main Octave program.
- I am mainly using Ubuntu 14.04 for development and surfing the internet.
- I use Windows 8.1 on my desktop computer for programs such as : Matlab -Proteus etc.
- I have complete (sudo) access to the computer running Ubuntu 14.04 24-7.Installing new software does
- I am a self motivated person who tries to help people by sharing my experience with them. I always discuss my programs with my colleagues in order to share our knowledge. I am currently interested in Competitive Programming where continuous discussion among the team members is a must.
- I prefer to have a clear plan before starting to implement the required algorithm / script rather than have unclear requirements and doing work that doesn't fit these requirements.
- I might require frequent reviewing and feedback from my mentor to make sure that i am on the right track and improve the quality of the implemented functions.
Y: Your task
- I am interested in working on the "Implement boolean operations on polygons" project.
- The goal is to implement a Matlab-compatible set of boolean operations and supporting function for acting on polygons. These include the standard set of potential operations such as union/OR, intersection/AND, difference/subtraction, and exclusive or/XOR.
- 10-6 : polysplit - polyjoin
- 8-7 : ispolycw - poly2cw - poly2ccw
- 22-7 : polybool
- 29-7 : poly2fv
- My proposal can be found here :