User:Abdallah Elshamy: Difference between revisions

From Octave
Jump to navigation Jump to search
No edit summary
 
(23 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 third year undergraduate student studying computer and systems engineering at faculty of engineering - Ain Shams University.
* 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 (upper-intermediate).
** 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 summer of code is an excellent opportunity for a student like me to work with other developers on a 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.
* 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 don't have any previous experience with the GSoC.  
** 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.
* 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 ==
* User name on Savannah and Nick name on IRC: '''Abdallah_Elshamy'''
* 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 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 ==
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 have a good knowledge of C++ and used it in many projects.
* Please describe your experience with C++, Octave or Matlab m-scripts, OpenGL and Qt.
* 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.
* Please describe your experience with other programming languages.
* I have a good knowledge of Qt and made two University projects using it.
* Please describe your experience with being in a development team. ''Do you have experience working with open source or free projects?''
* I have a good knowledge of Python and a fair knowledge of Java.
* 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.
* I am comfortable with working with team and worked with many teams in university projects.
* 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.''
* 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 ==
* 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 ==
* 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 ==
* 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 ==
* 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 ==
* 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.