Recently, I was interested in reading / writing YAML files from Octave. To my knowledge Matlab does not have any builtin solution for this, but a few 3rd party libraries for Matlab exist, which are mostly Java based. Does anyone have a good solution for this?
If not and as GSoC 2022 is about to start soon, I added a new project:
@siko1056 Iām interested in this GSoC 2022 project. Iāve read and explored the octave dicourse and github page for some time, and Iāve also seen GSoC 2020 project about json decoding and encoding. This gives me inspiration on how I can build a YAML package for octave. I would like to start the project from now on, and I wonder if thereās anything I need to pay attention to. Iām looking forward to your guidance, thank you!
Great you are interested in this project. I think recently you applied for membership in the GitHub group, thus you should be able to create and work on a package repository there.
How familiar are you with Octave in general and what motivates you to work on this package? Do you work with YAML in other projects as well?
In GSoC2021 I was intended to apply to octave project, but at that time I didnāt know what I can do to contribute to the community so I just gave up. Still, I installed octave and have learned some basic usage of octave. I didnāt use it very deeply (Maybe thatās because Iām not very good at mathsā¦).
This yearās project about yaml is something I can do some work for. Iām familiar with json/yaml files because I work with them a lot in my own project for configuring and web scraping. This will be a huge encouragement to me if I can finally make it.
That is great. Indeed this project is of less mathematical nature. Nevertheless it is very important for Octave, as YAML has become more and more popular as data exchange format in science and engineering, thus for the suspected majority of Octave users
Are you already familiar with Rapid YAML or does the language you use for web scraping already have builtin YAML support?
I used python for web scraping. Itās easy to parse a YAML file in python using PyYaml.
Iām now learning ryml(Rapid YAML) by reading and practicing every section in the samples included in the ryml source code. Most of them is not hard for me to understand, so I can soon start to write some functions to deal with simple yaml data.
And I have a question : do i need to complete most of the funcions before i āCreate a new repositoryā in octave package repository, or can I just create it now and gradually submit my code to complete it?
You do not need to complete any functions before creating an Octave package. I think it is a good idea to try making yourself familiar with Octave packages and how to build C++ code written inside them (preferably, the code samples that you mentioned). Looking here can be helpful in that.
Hajimemashite mentors!
I am Unmay.I am currently pursuing B.tech(2nd yr) in ECE from Indian Institute of Information Technology. I have completed C, application programming, data structures and shell scripting courses in my 1st year and 3rd semester. However Iām more comfortable and experienced in C++(self taught) than C. We use Octave at our university in departmental courses such as digital signal processing, signals & systems and mech & graphics, yet I am still learning Octave. I wish to work on YAML encoding/decoding but Iām confused if its suitable for me or should I go for openlibm as the project size is 350 hours, please guide me. Thank You.
Welcome @Ace_D_Portgas and thanks for your interest in Octave
How much time can you devote for GSoC this summer (or this summer and autumn, for the 350 hour projects)? If you decided how much time you can spend, the next step is finding out in which of the two projects you are more interested in.
I suggest you just give both projects a quick start. Read relevant material, think about what is necessary to do, and finally ask yourself the question: do I understand what should be done and do I really care for it? If the answer for one project is yes, devote some more time to discuss with us and other potential GSoC contributors in this thread what you already did (talking about steps that others already discussed here before is no crime, maybe you found better ways to do it or you identified a problem that others did not see), what you are going to do and think about a convincing proposal for next month.
Please do not feel discouraged about the length of this topic. Until 2022-04-19T18:00:00Z no contributor is decided for any project here. GSoC is a large voluntary time commitment for each mentor, as well. Thus a mentor only starts with you into this summer, if you show us you care about this project and enjoy working on it Then it is for both contributors and mentors a valuable time commitment.
Thank you @siko1056 for your response I appreciate you taking your time and explaining me in detail I talked with my university senior regarding this and they said I have more than enough time for my uni studies+ project.
My summer break will be starting soon so I think so I have ample amount of time for YAML encoding/decoding and also I am more interested in this project.
To be honest I am fairly new in the world of open source software development and donāt have any experience in this field but I would love to start contributing and stick around with Octave after the project and contribute at surface level till I complete my degree.
@siko1056
I have submitted some code to pkg-yaml on github. Now yamldecode() can parse some simple YAML strings (I only test few strings just to verify itās working, the test code is in yamldecode_test.m). Also, I tried to rewrite the makefile(though I really donāt know how to write makefile before), and the package can now be installed from tar.gz and run at my wish. Iām really happy that I learned a lot during these work.
Would you please take some time to check it out? I really need some advise before I continue to work on it.
Great work I installed your package and I am most amazed that there is an all-in-one header-file version of Rapid YAML available. This makes it as easy as RapidJSON.
In my opinion this is a great statement of qualification for GSoC. Please mention your package in the project application and submit it in the next weeks.
What further advise do you need? Maybe we can discuss further steps with the draft of your project application?
I think this is a good idea. You should start drafting your application for GSoC. I suggest that you start with the project plan. One thing I would like to see in the plan is to what Octave data types will YAML data types be converted to while decoding and the reverse while encoding. Something like the table in the Algorithms section here and here. This will help you greatly in defining your timeline and your milestones which are the major parts in the project plan.
I moved your post into the existing topic which is a good point to start reading here. If you have any questions, please feel free to ask anything here
The YAML project is considered as ālargeā = 350 hours. Your timeline only goes until September 12.
Can you only work until this date on this project or do you consider the project to be āmediumā in general due to the previous work? @Abdallah_Elshamy what do you think?