On 06/12/2014 03:56 PM, Mariusz Wojcik wrote:
>
> Back to the topic Basket rewrite, my initial plan was to use Qt 4, but
> now I think I will use for the rewrite Qt 5/QtQuick. The Basket rewrite
> would solve the windows port issue and it would clean up the current
> code base. Maybe introducing a new version of the .baskets file format.
> My idea is to replace xml with json and gzip with lzma.

I wondered if Windows was your reasoning. Another good reason to do so 
would be to remove the KDE libs. I have no idea what they give us, so 
maybe they're very useful and we shouldn't get rid of them, but they do 
add another barrier to porting. It's fairly obvious what QT gives us.

As for XML versus JSON, you're trading 1 gnarly format for another 
gnarly format, IMO. ;)

As for compression, why? I have a lot of data in OneNote (150M), but 
that's no big deal. Even if OneNote compresses (which I don't know), I 
suspect I wouldn't have more than 500M if that were expanded, which 
still isn't an issue that I can see. One good thing about not having the 
data compressed, it's a whole lot easier to look at it with other tools 
if you need to. :)

In the FWIW department, I just saw a benchmark between gzip and lzma. 
While lzma might compress a little better (like 10%), it's was 3x slower 
than gzip. Something to keep in mind. Of course, it's also possible that 
baskets are small enough it won't matter (the benchmark was on a 203M 
file). If you decide to compress, it would be good to have that be an 
option, so the user can decide which they want to do.

>
> Regarding Onenote, Kevin have you read the .one [file format
> specification](http://bit.ly/1lkFiGO) from Microsoft?

No I haven't, so thanks for the link. It's interesting that they 
documented it so thoroughly. I believe there is also a .NET lib (or VB 
or something) that they make freely available to help out too; it's the 
way you're supposed to write "OneNote Toys" (which I've never done).

However, I'm presently investigating the idea of having the user dump 
the Notebook to HTML, then parsing that to create the baskets & notes. 
The reason to go that route is that the baskets are HTML, so that would 
mean I don't have to worry about that bit of conversion, and parsing 
HTML is reasonably easy (most of the time). At this point in time, I 
think I'm going to prototype that in Perl since it's so good at string 
handling, and once I get the basics working, then I'll do the equivalent 
in C++. Or maybe I'll just say that converting is a 1-time thing and is 
really a utility, so it stays in Perl. ;) Obviously, my mind's not made 
up and I'll probably change it a few times before the end. There may 
also be technical reasons to do one over the other that I've yet to 
discover. I haven't made it very far, but I do have a new conversion 
option in the UI working with a stub for the actual code ... that was a 
lot harder than I thought it would be, :( which probably shows my 
inexperience with QT.

Kevin

------------------------------------------------------------------------------
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
http://p.sf.net/sfu/hpccsystems
_______________________________________________
Basket-devel mailing list
Basket-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/basket-devel

Reply via email to