Abdallah Elshamy

Joined 25 February 2020
 
(5 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 ==
* 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 Octave/MATLAB for about two years. I am familiar with some packages like: Control and Signals. I wrote many m-scripts and used Simulink.
* 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 a team to make a Verilog model for MIPS processor, an assembler for MIPS, a GUI where user can write assembly code and run it and an automated test for the Verilog model. my role over time was
* 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/].
** Implementing the GUI using Qt.
* Other contributions can be found here[https://github.com/gnu-octave/octave/commits?author=Abdallah-Elshamy].
** Helping in implementing the assembler
** integrating the system.
* I have submitted a patch to add the new functions "startsWith" and "endsWith" to Octave[https://savannah.gnu.org/bugs/?57041].


== F: Feeling fine ==
== F: Feeling fine ==
Line 49: Line 47:


== Y: Your task ==
== Y: Your task ==
* I chose JSON encode/decode project.
* I am interested in the "Jupyter Notebook Integration" project.
* My project will focus on creating MATLAB compatible jsonencode and jsondecode functions. This involves proper documentation of the work and unit tests to ensure the correctness of the implementation
* 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.
* This is my elaborated proposal [https://docs.google.com/document/d/1wmQVZseVSDv6I33449r8hCDG1DmM1hei0zdkZspDpTQ/edit?usp=sharing]
 
* A detailed timeline is provided on the elaborated proposal. My milestones will be:
** deliver the test suite.
** deliver jsondecode.
** deliver jsonencode.
[[Category: Summer of Code]]
[[Category: Summer of Code]]