Summer of Code - Getting Started: Difference between revisions

no edit summary
(→‎Improve TIFF image support: removed (done in GSoC 2022))
No edit summary
Line 105: Line 105:
: Octave, C/C++
: Octave, C/C++
* '''Potential mentors'''
* '''Potential mentors'''
: [https://octave.discourse.group/u/siko1056 Kai] [https://octave.discourse.group/u/Abdallah_Elshamy Abdallah]
: [https://octave.discourse.group/u/Abdallah_Elshamy Abdallah]
 
== YAML encoding/decoding ==
 
[https://en.wikipedia.org/wiki/YAML YAML], is a very common human readable and structured data format.  Unfortunately, GNU Octave (and Matlab) still lacks of builtin support of that omnipresent data format.  Having YAML support, Octave can easily read and write config files, which often use YAML or JSON.  The latter JSON format has been [[Summer of Code#GSoC_2020 | successfully implemented for Octave during GSoC 2020]].
 
The goal of this project is to repeat the GSoC 2020 success story with [https://github.com/biojppm/rapidyaml Rapid YAML] or another fast C/C++ library.
 
The first step is research about existing Octave/Matlab and C/C++ implementations, for example:
 
* https://code.google.com/archive/p/yamlmatlab/ (uses Java)
* http://vision.is.tohoku.ac.jp/~kyamagu/ja/software/yaml/ (uses Java)
 
Then evaluate (and to cherry pick from) existing implementations above, compare strength and weaknesses.  After this, an Octave package containing en- and decoding functions (for example <code>yamlencode</code> and <code>yamldecode</code>) shall be created.  This involves proper documentation of the work and unit tests to ensure the correctness of the implementation.
 
Finally, the package is considered to be merged into core Octave, probably after the GSoC project.  However, it can be used immediately from Octave as package and is backwards-compatible with older Octave versions.
 
* '''Project size''' [[#Project sizes | [?]]] and '''Difficulty'''
: ~175 hours (easy)
* '''Required skills'''
: Octave, C/C++
* '''Potential mentors'''
: [https://octave.discourse.group/u/siko1056 Kai], [https://octave.discourse.group/u/Abdallah_Elshamy Abdallah]


== TISEAN package ==
== TISEAN package ==
Line 141: Line 119:


== Better tab completion ==
== Better tab completion ==
Links: [https://savannah.gnu.org/bugs/index.php?62492 https://savannah.gnu.org/bugs/index.php?62492] and [https://savannah.gnu.org/bugs/?53384 https://savannah.gnu.org/bugs/?53384]
Links: [https://savannah.gnu.org/bugs/index.php?62492 https://savannah.gnu.org/bugs/index.php?62492] and [https://savannah.gnu.org/bugs/?53384 https://savannah.gnu.org/bugs/?53384]