Editing User:Lk

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:
= Public application template =
= Public application template =
This part should be answered in public on your '''[[Special:MyPage|user page]]'''. Please '''copy''' its source ('''edit''' tab) and then fill. '''DO NOT MAKE CHANGES TO THIS PAGE!''' Delete any examples and annotations (''this markup'') afterwards. Same for questions that do not apply to your situation.
== A: An introduction ==
== A: An introduction ==
* Please describe yourself in three sentences, one of them regarding your current studies.<br />I am studying at the University of Illinois at Urbana-Champaign, in the process of obtaining a major in computer engineering and minors in physics and statistics (expected graduation: May 2022). I attended the Illinois Mathematics and Science Academy for high school, taking most computer science and physics courses offered. In my free time, I like to draw, cook, work out, and read.
* Please describe yourself in three sentences, one of them regarding your current studies.<br />I am studying at the University of Illinois at Urbana-Champaign, in the process of obtaining a major in computer engineering and minors in physics and statistics (expected graduation: May 2022). I attended the Illinois Mathematics and Science Academy for high school, taking most computer science and physics courses offered. In my free time, I like to draw, cook, work out, and read.
Line 15: Line 17:
== 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 ;-)
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 ;-)
* Please describe your experience with C++, Octave or Matlab m-scripts, OpenGL and Qt.<br />I have experience with C/C++ from computer science and engineering courses in university. I have experience with Octave from the Coursera Machine Learning Course and experience with Matlab from my electronics courses in university.
* Please describe your experience with C++, Octave or Matlab m-scripts, OpenGL and Qt.<br />I have experience with Octave from the Coursera Machine Learning Course and experience with Matlab from my electronics courses in university.
* Please describe your experience with other programming languages.<br />I have experience with C, C++, Java, LC-3, MATLAB, Python, HTML, CSS, Bootstrap, Javascript, JQuery, PHP, and SQL from various courses in high school and university.
* Please describe your experience with other programming languages.<br />I have experience with C, Java, LC-3, MATLAB, Python, HTML, CSS, Bootstrap, Javascript, JQuery, PHP, and SQL from various courses in high school and university.
* Please describe your experience with being in a development team. <br />I am currently interning at Synchrony Financial, on a team of three students and one mentor. My only experience with open-source so far has been at the 2020 Hack Illinois hackathon working on the gRPC project.
* Please describe your experience with being in a development team. <br />I am currently interning at Synchrony Financial, on a team of three students and one mentor. My only experience with open-source so far has been at the 2020 Hack Illinois hackathon working on the gRPC project.
* 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.<br />During high school, I was on my FRC robotics team's programming team. I learned a lot about Java and controlling physical parts using code. Initially, I had no experience with programming beyond JavaScript, but eventually, I was able to code and debug for any part of the robot.
* 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.<br />During high school, I was on my FRC robotics team's programming team. I learned a lot about Java and controlling physical parts using code. Initially, I had no experience with programming beyond JavaScript, but eventually, I was able to code and debug for any part of the robot.
Line 25: Line 27:
** IRC and mailing lists <br />I have no experience with IRC. I have set up mailing lists using PHP in a web technologies course.
** IRC and mailing lists <br />I have no experience with IRC. I have set up mailing lists using PHP in a web technologies course.
** Mercurial or other source code management systems<br />I have no experience with Mercurial. I have extensive experience with Git.
** Mercurial or other source code management systems<br />I have no experience with Mercurial. I have extensive experience with Git.
** Mediawiki or other wiki software<br />I have no experience with Mediawiki. I have used other wiki software in a few courses to create and share content with classmates and instructors. I expect to be able to pick up wiki formatting quickly because I have a lot of experience with markup languages in creating websites and using LaTeX.
** Mediawiki or other wiki software<br />I have no experience with Mediawiki. I have used other wiki software in a few courses to create and share content with classmates and instructors.
** make, gcc, gdb or other development tools<br />I have used make, gcc, and gdb somewhat extensively in class. I have experience in creating and modifying makefiles.
** make, gcc, gdb or other development tools<br />I have used make, gcc, and gdb somewhat extensively in class. I have experience in creating and modifying makefiles.
* What will make you actively stay in our community after this GSoC is over? <br />To me, the most offputting part of open-source projects is the seemingly high entry barrier. As long as I understand what needs to be done and where I can find the resources to do it (which I should know following GSoC), I plan on staying active in the Octave community.
* What will make you actively stay in our community after this GSoC is over? <br />To me, the most offputting part of open-source projects is the seemingly high entry barrier. As long as I understand what needs to be done and where I can find the resources to do it (which I should know following GSoC), I plan on staying active in the Octave community.
Line 48: Line 50:
== Y: Your task ==
== Y: Your task ==
* Did you select a task from our list of proposals and ideas?
* Did you select a task from our list of proposals and ideas?
** If yes, what task did you choose? Please describe what part of it you especially want to focus on if you can already provide this information. <br />Yes, I selected the [https://wiki.octave.org/Summer_of_Code_-_Getting_Started#JSON_encoding.2Fdecoding JSON encoding/decoding] project. I have used JSON files in data analysis and visualization projects in the past, and I think that Octave needs to have JSON integration to succeed as a widespread computational language. [[#Proposal]] for reference.
** If yes, what task did you choose? Please describe what part of it you especially want to focus on if you can already provide this information. <br />Yes, I selected the [https://wiki.octave.org/Summer_of_Code_-_Getting_Started#JSON_encoding.2Fdecoding JSON encoding/decoding] project. I have used JSON files in data analysis and visualization projects in the past, and I think that Octave needs to have JSON integration to succeed as a widespread computational language. [[Proposal]] for reference.
* Please provide a rough estimated timeline for your work on the task. <br />  
* Please provide a rough estimated timeline for your work on the task. <br />May 4 - June 1: Community Bonding <br />June 1 - August 24: Coding<br />June 29 - July 3: Evaluations 1<br />July 27 - 31: Evaluations 2<br />August 6-8: Unavailable (UIUC finals)<br />August 24 - 31: Final Project and Evaluations 3<br />September 8: Final Results<br />
{| class="wikitable" style="margin-left:30px;"
|-
|May 4 - June 1
|Community Bonding
|-
|June 1
|Start Coding
|-
|Task 1
|Determine which implementation
|-
|June 29 - July 3
|Evaluations 1
|-
|Task 2
|Improve implementation
|-
|July 27 - 31
|Evaluations 2
|-
|Task 3
|Testing
|-
|August 6-8
|Unavailable (UIUC finals)
|-
|August 24
|End Coding
|-
|August 24 - 31
|Final Project and Evaluations 3
|-
|September 8
|Final Results
|}
 
 
== Proposal ==
 
=== [https://savannah.gnu.org/bugs/?53100 Bug #53100] ===
*Introduction<br />Following Matlab's introduction of jsondecode(string) and jsonencode(string) in early February, a feature request was made to create similar functions in Octave. The proposed functions would allow users to easily work with JSON formatted strings in Octave, inputting and outputting JSON files, respectively.
*Imperfections
**Due to an abundance of cpp parser libraries, different ones with different implementations have been selected and implemented separately by various contributors.
**"jsonstuff .. doesn't cover more general or flexible JSON handling, or persisting of arbitrary Matlab data structures to JSON"
*** no intention of further extension so as to match base Matlab
***As of February 2020, "it's about feature-complete, but it's not Fast (because some stuff is still in the M-code layer, that should be down at the C++ oct-file layer)".
**jsonlab is looking to be more robust than jsonstuff, implemented as a specialized package that works with both Octave and Matlab rather than a part of base Octave.
***also works with UBJSON/MessagePack (different filetypes for different use cases)
**rapidjson is not aiming to create an equivalence to Matlab's jsonencode/jsondecode, instead creating new data types and functions to aid in working with JSON files.
**I was not able to find much information about JSONio's deficiencies.
=== Contribution ===
All of these packages were written by individuals who see their work's strengths because they have naturally created a product that works well for their needs. To implement a feature into Octave core, however, it must work well in a considerably more extensive range of applications. A third party should analyze in-depth which implementation makes the most sense to bring into Octave core and work with the contributor to do so. Some contributors expressed in the Bug #53100 forum that they find themselves lacking the time to finalize their implementations, as is the nature of open-source work. Thus, dedicating my summer, I could help finally bring fluid JSON interoperability to Octave.
 
[[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)