User:Abdallah Elshamy: Difference between revisions
Jump to navigation
Jump to search
(15 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== A: An introduction == | == A: An introduction == | ||
* My name is '''Abdallah Khaled Elshamy''', a student from Egypt. I am a hard-working person who is passionate about his work. I am a | * My name is '''Abdallah Khaled Elshamy''', a student from Egypt. I am a hard-working person who is passionate about his work. I am a senior undergraduate student studying computer and systems engineering at the faculty of engineering - Ain Shams University. | ||
** Languages I speak: Arabic (native) and English ( | ** Languages I speak: Arabic (native) and English (advanced). | ||
** I have a good background in mathematics (ODEs, linear algebra, numerical analysis and calculus), electronic and electric circuits and computer science. | ** I have a good background in mathematics (ODEs, linear algebra, numerical analysis, and calculus), electronic and electric circuits, and computer science. | ||
* Google | * Google Summer of Code is an excellent opportunity for a student like me to work with other developers on sophisticated software that has a lot of users. I hope to become a better and more experienced developer and to hone my soft skills by collaborating with the developers/maintainers of Octave. | ||
** I | ** I participated in GSoC 2020 with GNU Octave. | ||
* I used | * I used Octave a lot as an open-source alternative to MATLAB. It was extremely helpful for me as a student. Thus, I want to help in enhancing and adding to this important project. | ||
== C: Contact == | == C: Contact == | ||
* | * Username on Savannah, Username on Octave Discourse, and Nickname on IRC: '''Abdallah_Elshamy''' | ||
* I live in | * I live in Cairo (UTC+2). my location won't change over GSoC duration. | ||
* I usually split my working hours to regain my focus so I code from 06.00 to 10.00 and from 12.00 to 17.00 | * I usually split my working hours to regain my focus so I code from 06.00 to 10.00 and from 12.00 to 17.00 | ||
== E: Coding experience == | == E: Coding experience == | ||
* I have a good knowledge of C++ and used it in many projects. | * I have a good knowledge of C++ and used it in many projects. | ||
* I have been using | * I have been using Octave/MATLAB for about three years. I am familiar with some packages like: Control and Signals. I wrote many m-scripts and used Simulink. | ||
* I have a good knowledge of Qt and made two University projects using it. | * I have a good knowledge of Qt and made two University projects using it. | ||
* I have a good knowledge of Python and a fair knowledge of Java. | * I have a good knowledge of Python and a fair knowledge of Java. | ||
* I am comfortable with working with team and worked with many teams in university projects. | * I am comfortable with working with team and worked with many teams in university projects. | ||
* I Worked with | * Last GSoC, I Worked on a project that enriched GNU Octave with built-in support for JSON. I developed functions to encode/decode JSON using C++ and unit tests using Octave. My project was integrated into the main repository of GNU Octave[https://summerofcode.withgoogle.com/archive/2020/projects/5567022663991296/]. | ||
* Other contributions can be found here[https://github.com/gnu-octave/octave/commits?author=Abdallah-Elshamy]. | |||
* | |||
== F: Feeling fine == | == F: Feeling fine == | ||
Line 26: | Line 25: | ||
* I am familiar with mailing list and subscribed to it. | * I am familiar with mailing list and subscribed to it. | ||
* I used Mercurial to submit a patch and have a good experience with other version control systems like git. | * I used Mercurial to submit a patch and have a good experience with other version control systems like git. | ||
* I built | * I built Octave using make tool and was able (with the help of the maintainers) to add functions to the build system. | ||
* What will make me actively stay in the community that I want to help in developing | * What will make me actively stay in the community that I want to help in developing Octave as it helped me in my study. besides, I believe that I will learn a lot from this. | ||
== O: Only out of interest == | == O: Only out of interest == | ||
* I heard about | * I heard about Octave approximately two years ago in my college as an open source alternative for MATLAB since we have projects that used MATLAB and we needed a software with similar capabilities. | ||
* The first question concerning Octave I could not find an answer to rather quickly was how to add to the build system. With some searching and help from IRC channel and maintainers I was able to solve it. | * The first question concerning Octave I could not find an answer to rather quickly was how to add to the build system. With some searching and help from IRC channel and maintainers I was able to solve it. | ||
Line 45: | Line 45: | ||
* I prefer to discuss changes and to have a good vision about them before starting to code. Surely, all the details may not be clear and need further search but having a good general view about the system helps a lot and directs your search and your efforts to fruitful paths. | * I prefer to discuss changes and to have a good vision about them before starting to code. Surely, all the details may not be clear and need further search but having a good general view about the system helps a lot and directs your search and your efforts to fruitful paths. | ||
* Prototypes definitely helps you understand what you are trying to do so coding and modifying them (with the risk to throw them away) may be useful to have a better understanding and a better implementation of the requirements. | * Prototypes definitely helps you understand what you are trying to do so coding and modifying them (with the risk to throw them away) may be useful to have a better understanding and a better implementation of the requirements. | ||
== Y: Your task == | |||
* I am interested in the "Jupyter Notebook Integration" project. | |||
* This project aims to support running (and filling) Jupyter Notebook within GNU Octave. This would enable Jupyter Notebook users to evaluate long-running Octave Notebooks on a computing server without a permanent browser connection, which is still a pending issue. | |||
[[Category: Summer of Code]] |
Latest revision as of 09:02, 4 April 2021
A: An introduction[edit]
- My name is Abdallah Khaled Elshamy, a student from Egypt. I am a hard-working person who is passionate about his work. I am a senior undergraduate student studying computer and systems engineering at the faculty of engineering - Ain Shams University.
- Languages I speak: Arabic (native) and English (advanced).
- I have a good background in mathematics (ODEs, linear algebra, numerical analysis, and calculus), electronic and electric circuits, and computer science.
- Google Summer of Code is an excellent opportunity for a student like me to work with other developers on sophisticated software that has a lot of users. I hope to become a better and more experienced developer and to hone my soft skills by collaborating with the developers/maintainers of Octave.
- I participated in GSoC 2020 with GNU Octave.
- I used Octave a lot as an open-source alternative to MATLAB. It was extremely helpful for me as a student. Thus, I want to help in enhancing and adding to this important project.
C: Contact[edit]
- Username on Savannah, Username on Octave Discourse, and Nickname on IRC: Abdallah_Elshamy
- I live in Cairo (UTC+2). my location won't change over GSoC duration.
- I usually split my working hours to regain my focus so I code from 06.00 to 10.00 and from 12.00 to 17.00
E: Coding experience[edit]
- I have a good knowledge of C++ and used it in many projects.
- I have been using Octave/MATLAB for about three years. I am familiar with some packages like: Control and Signals. I wrote many m-scripts and used Simulink.
- I have a good knowledge of Qt and made two University projects using it.
- I have a good knowledge of Python and a fair knowledge of Java.
- I am comfortable with working with team and worked with many teams in university projects.
- Last GSoC, I Worked on a project that enriched GNU Octave with built-in support for JSON. I developed functions to encode/decode JSON using C++ and unit tests using Octave. My project was integrated into the main repository of GNU Octave[1].
- Other contributions can be found here[2].
F: Feeling fine[edit]
- I am familiar with IRC and used it to get advice.
- I am familiar with mailing list and subscribed to it.
- I used Mercurial to submit a patch and have a good experience with other version control systems like git.
- I built Octave using make tool and was able (with the help of the maintainers) to add functions to the build system.
- What will make me actively stay in the community that I want to help in developing Octave as it helped me in my study. besides, I believe that I will learn a lot from this.
O: Only out of interest[edit]
- I heard about Octave approximately two years ago in my college as an open source alternative for MATLAB since we have projects that used MATLAB and we needed a software with similar capabilities.
- The first question concerning Octave I could not find an answer to rather quickly was how to add to the build system. With some searching and help from IRC channel and maintainers I was able to solve it.
P: Prerequisites[edit]
- I use Ubuntu 18.04.3 LTS.
- I own this machine and have full (sudo) access to it. I can install any new software on it.
- I will be able to access internet connection, a computer with my progressing work on any time on the day.
S: Self-assessment[edit]
- Criticism is greatly important and highly appreciated by me as it allows me to learn from other's experiences. To make the best of it I prefer it to:
- Be as specific as possible.
- Be supported with examples.
- Use clear language and avoid ambiguity.
- Be given in points so I can track my improvement in a better way.
- I prefer to discuss changes and to have a good vision about them before starting to code. Surely, all the details may not be clear and need further search but having a good general view about the system helps a lot and directs your search and your efforts to fruitful paths.
- Prototypes definitely helps you understand what you are trying to do so coding and modifying them (with the risk to throw them away) may be useful to have a better understanding and a better implementation of the requirements.
Y: Your task[edit]
- I am interested in the "Jupyter Notebook Integration" project.
- This project aims to support running (and filling) Jupyter Notebook within GNU Octave. This would enable Jupyter Notebook users to evaluate long-running Octave Notebooks on a computing server without a permanent browser connection, which is still a pending issue.