Abdallah Elshamy

Joined 25 February 2020
 
(One intermediate revision by the same user not shown)
Line 14: Line 14:
== 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 successfully added the new functions "startsWith" and "endsWith" to Octave[https://savannah.gnu.org/bugs/?57041].
* I submitted a patch to add the new function "clipboard" to Octave[https://savannah.gnu.org/bugs/?57699].


== F: Feeling fine ==
== F: Feeling fine ==
Line 51: 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]]