Editing User:Abdallah Elshamy

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
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 senior undergraduate student studying computer and systems engineering at the 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 third year undergraduate student studying computer and systems engineering at faculty of engineering - Ain Shams University.
** Languages I speak: Arabic (native) and English (advanced).
** Languages I speak: Arabic (native) and English (upper-intermediate).
** 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 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 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.
** I participated in GSoC 2020 with GNU Octave.  
** I don't have any previous experience with the GSoC.  
* 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 ==
* Username on Savannah, Username on Octave Discourse, and Nickname on IRC: '''Abdallah_Elshamy'''
* User name on Savannah and Nick name 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 three 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 two 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.  
* 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/].
* 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
* Other contributions can be found here[https://github.com/gnu-octave/octave/commits?author=Abdallah-Elshamy].
** Implementing the GUI using Qt.
** 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 47: Line 49:


== Y: Your task ==
== Y: Your task ==
* I am interested in the "Jupyter Notebook Integration" project.
* I chose JSON encode/decode 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.
* 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 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]]
Please note that all contributions to Octave may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Octave:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)