octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Help in JSON encode/decode project


From: Andrew Janke
Subject: Re: Help in JSON encode/decode project
Date: Mon, 9 Mar 2020 00:02:37 -0400
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:68.0) Gecko/20100101 Thunderbird/68.5.0

On 3/8/20 11:38 PM, Kai Torben Ohlhus wrote:
> 
> Dear Abdallah,
> 
> Thank you for you interest in this project.  To answer you first email
> 
>> Does this mean that he is about to finish the project so I should
>> consider another one or the project will use some of his work ?
> 
> The great work of Andrew and the other three projects mentioned in the
> wiki project description [1] should not scare you away.  Proper
> Matlab-compatible JSON integration into Octave core is a pending issue
> for at least two years.  As far as I overview the situation, there is no
> approach that can make it into Octave core before GSoC is over.  They
> all require some sort of adaption and nobody could spend the necessary
> time to really care about this project yet.
> 
> At the moment you are focused on "octave-jsonstuff".  Please keep in
> mind, that there are two (three) other libraries as well.
> "octave-rapidjson" worked for me out-of-the-box too, contains test, but
> lacks of a Matlab-compatible interface.  JSONio has a very lightweight
> dependency, contains tests, but is based on the MEX-C-interface, which
> may not be a good choice for Octave core (mostly C++).  This is what I
> mean by cherry picking.
> 
> The schedule I roughly have in mind is similar to what Mike suggests:
> test and familiarize yourself with all four approaches.  Focus on
> getting them to run, get an idea how they work, what features are
> available, what is missing.
> 
> Based on you impressions, you can then prepare your proposal.  Of course
> you don't need to complete anything when applying for the project.  A
> rough schedule I have in mind is:
> 
> 1. Extract available tests from all four approaches into your own
> test-suite for the whole project.  If possible asses the tests for
> Matlab-compatibility (I can help out with this task).  Create larger
> scale test cases that run in Matlab too for benchmarking.
> 
> 2. Asses comprehensively all four libraries with your tests and
> benchmarks.  Create reliable figures, graphics.
> 
> 3. Decide for a back-end (jsmn, rapidjson, jsoncpp).  This will then
> become an (optional) Octave dependency.
> 
> 4. Convert your test-suite into Octave BIST (builtin self-tests) and
> implement jsonencode/jsondecode with nice documentation.
> 
> This is of course all my happy fantasy and there is lots of space for
> discussing the exact outline.
> 
> Best,
> Kai
> 
> 
> [1]
> https://wiki.octave.org/Summer_of_Code_-_Getting_Started#JSON_encoding.2Fdecoding


As JsonStuff's author, I agree with Kai's assessment and plan here.
JsonStuff is nowhere near getting merged in to Octave core, and I will
not have time to get it there for many months to come. And this project
should consider the state and approach of all the existing Octave JSON
libraries.

Cheers,
Andrew



reply via email to

[Prev in Thread] Current Thread [Next in Thread]